do mechanical engineers need to know coding